The present invention relates to telecommunications systems and more particularly to providing position information to a device.
Position determination systems offer a method of providing a geographic position relative to other people or objects, whether moving or stationary. The number of these systems is increasing and they fall into two broad categories, namely, stand-alone and remote.
Remote systems require an external source in order to determine location. Services include electronic navigational fixed beacons, such as Long Range Electronic Navigation (LORAN). The beacons repetitively transmit signals and a device determines its own location by determining a beacon ID and determining its distance from the beacon.
Another example of a remote system is network-based triangulation. Examples of triangulation techniques include a radio cell. Typically, a plurality of cell stations communicate via a network and a plurality of devices (personal stations) are free to move amongst radio cells, whereby each cell station has a radio cell. The radio cell defines a territory within which a device can communicate with a cell station via a radio link and each of the cells comprises a unique cell number. A device will typically have knowledge of a cell number but is unlikely to know the longitude and latitude data from this information. Therefore, a network server typically utilises the cell number information and associates the number with a radio cell. The server then associates the cell with a geographic position. This technique is relatively inaccurate and also performs poorly in built up areas. The implementation is typically server based, otherwise all applications running on the devices would need to be able to relate a cell number to a positionxe2x80x94this would be a processing overhead.
Another example is a radio cell segment, whereby a cell is broken into several segments, e.g. a 90-degree segment. This technique is more accurate than the radio cell and is again server based to be useful, otherwise all applications running on devices would need to be able to relate a cell/segment number to a position. A further improvement is a radio cell with distance estimation whereby, distance estimation occurs by utilising signal strength or transmission latency. This technique can be combined with the radio cell techniques described above, to increase the accuracy of results. Typically, signal strength can be measured on the device itself or via a network base station. Generally, distance estimates can only realistically be made in the network and therefore, this technique is typically server based.
A triangulation technique, such as satellite triangulation, calculates a device""s spatial relationship to the satellites, in order to determine the position. As shown in FIG. 1A, the reading (100) from one satellite will narrow the area to be searched significantly. In FIG. 1B, utilising readings from two satellites, narrows the field of search to the area (105) where the readings intersect. Finally in FIG. 1C, by utilising a third satellite, a device""s position is placed at one point (110). Typically, this technique is again server based.
Stand-alone systems can provide location information in the required format (longitude, latitude and error) without having to communicate with an external source. An example is a device-based triangulation system, such as, the Global Positioning System (GPS). GPS comprises a multitude of satellites orbiting approximately 11,000 miles above the earth""s surface, which are used to enable the position of a compatible receiver to be located relative to the earth. There are eight orbiting satellites in each of three sets of orbits giving twenty-four satellites in total. The longitude, latitude and altitude of any point close to earth, with respect to the centre of the earth, are calculated by determining the propagation time of signals from at least four of the satellites to the point.
Referring to FIG. 2, there is shown a partially schematic pictorial view of a global positioning system (202). As illustrated, a computer (204) may be located, for example, in Greenock, Scotland. Also depicted within the global system (202) is a plurality of terrestrial satellites (206). The satellite network comprises a plurality of satellites (206) that may be implemented utilising several combinations of satellite systems. For example, the Global Positioning Satellite (GPS) system may be utilised. Generally, although GPS is essentially a device-based technique (the device being the GPS receiver), to provide more accuracy, a server could also be utilised in order to determine position. The details of a global positioning system are believed to be within the ambit of those having ordinary skill in this art and thus, the details of such a system form no part of this specification.
Another example of a stand-alone system is a technology that pre-configures a fixed location for a device. An example of such a device is an information point kiosk, which is configured on installation with its location.
An additional system for determining position involves asking the user of a device, either for a position or for landmarks (e.g. street names, routes, buildings, etc.). This system is clearly not automatic/immediate but in some situations (where all else fails), by prompting the user for input, a position determination system can begin to try and determine a position. Another technique, xe2x80x9cdead reckoningxe2x80x9d tracks a user when he/she passes sensing positions on a particular route for a period of time. An estimated position can be established by extrapolation, the real position being updated and subsequent estimates improved when the next sensing position is passed.
NMEA-0183 (National Marine Electronics Association) is an interface standard for transmitting navigation information (including GPS). The characters utilised in the standard are in ASCII text and the data transmitted between devices occurs in a xe2x80x9csentencexe2x80x9d format. The standard allows proprietary sentence formats to be set and therefore, users of devices will encounter the problem of having to subscribe to proprietary solutions.
With the increasing use of mobile devices, the number of location based services is on the increase. Location based services are a set of applications that utilise a geographic position associated with a mobile device. Depending on a user""s geographic position, different location based services are provided to a user.
Location based services utilise stored user profiles. The user profiles could be stored within a home location register for a cellular telecommunication system. Stored within each user profile is a plurality of service profiles associated with that user, whereby each of the plurality of service profiles is defined for a zone location. Real-life applications of location based services include safety purposes, such as roadside assistance; billing purposes, such as location sensitive billing; information purposes, such as traffic, navigation or news information and tracking purposes, such as fleet management.
Currently, prior art solutions for providing position information offer no method of structuring the various types of position information provided by position determination systems. Furthermore, a problem with current position determination systems is that they are all server based. Therefore, a client application is unable to access position information without accessing an external server of a proprietary solution. Even when using GPS, whereby a position is obtained via a GPS receiver on the device, there is no method of accessing any proprietary system and furthermore, GPS receivers are costly.
Therefore, there is a need for a user to know his/her current position without having to subscribe to or purchase proprietary solutions. There is a need for a technique whereby an application running on a device (such as a route finder application) can determine the device""s position by using-a familiar co-ordinate system, irrespective of the technology providing the position information. More specifically, there is a need for a client side service that is available for applications such as browser services.
According to a first aspect, the present invention provides a system (310) for providing position data in a predetermined format to a device (300), in which said device comprises means for executing an application (305), for use with a plurality of position determination systems (315, 320), each of said plurality of position determination systems providing position data, said system further comprising: means for providing an interface (400) to said application, whereby said means for providing an interface (400) receives a request for position data from said application; one or more means for receiving (415) position data from respective position determination systems; and means for providing data handling (405); in which said means for providing data handling (405) determines whether said received position data is in a pre-determined format; and said means for receiving (415), responsive to an unsuccessful determination, creates position data in a pre-determined format. Beneficially, the type of device and the type of position determination system does not matter. Therefore, the present invention allows different position determination systems, which provide varying position information, to utilise a standard architecture.
In a preferred embodiment, the system further comprises means for supporting the receiving means, whereby the application""s request for position data is passed via the means for supporting to the means for receiving. Preferably, if the received position data is not in a pre-determined format, the means for providing an interface provides the created position data (which is in a pre-determined format) to the application and if the received position data is in a pre-determined format, the means for providing an interface provides the received position data (which is already in a pre-determined format) to the application. More preferably, the means for receiving utilises an associated application to create position data in a pre-determined format.
Note, that although each of the plurality of position determination systems provides differing position data, the application can beneficially obtain position data from any of the systems. Aptly, at least one of the plurality of position determination systems is a global positioning system; a plurality of cell stations and personal stations, communicating over a network; or a pay service. More aptly, the system further comprises means for controlling the plurality of position determination systems, for example, hardware or software security controls preventing other users from gaining access to the position information of the device.
Preferably, the position data is provided to the application with associated values for latitude, longitude and altitude and if the user requires it, associated values for accuracy. To aid with accuracy, in a preferred embodiment, the plurality of position determination systems comprises an exclusion list, whereby the list comprises co-ordinates associated with position data. The position data in the list is either inaccurate or not relevant. For example, in an exclusion list for the United Kingdom, it may not necessary to hold information about excluded areas in the United States of America.
According to a second aspect, the present invention provides a method of providing position data in a pre-determined format to a device (300), in which said device comprises means for executing an application (305), for use with a plurality of position determination systems (315, 320), each of said plurality of position determination systems providing position data, in a system comprising: means for providing an interface (400) to said application, whereby said means for providing an interface (400) receives a request for position data from said application; one or more means for receiving (415) position data from respective position determination systems; and means for providing data handling (405); said method further comprising the steps of: determining, by said means for providing data handling (405), whether said received position data is in a pre-determined format; and in response to an unsuccessful determination, creating, by said means for receiving (415), position data in a pre-determined format.
According to a third aspect, the present invention provides a computer program product for providing position data in a pre-determined format to a device, in which said device comprises means for executing an application (305), for use with a plurality of position determination systems (315, 320), each of said plurality of position determination systems providing position data, running in a system, said system comprising means for providing an interface (400) to said application, whereby said means for providing an interface (400) receives a request for position data from said application; one or more means for receiving (415) position data from respective position determination systems; and means for providing data handling (405); said computer program product being stored on a computer readable storage medium and comprising instructions which when executed in said system, carry out the steps of: determining, by said means for providing data handling (405), whether said received position data is in a pre-determined format; and in response to an unsuccessful determination, creating, by said means for receiving (415), position data in a pre-determined format.